package com.xinqi.modules.exam.analyze.dto.req;

import com.xinqi.modules.exam.analyze.dto.GradeDistributionDTO;
import com.xinqi.modules.exam.analyze.dto.QuestionScoreRateDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 课程测评分析-请求对象-修改
 *
 * @author: linkai
 * @date: 2023/07/02
 */
@Data
@Schema(description = "课程测评分析-请求对象-修改")
public class CourseExamPaperAnalyzeUpdateDTO implements Serializable {
    /**
     * 主键
     */
    @Schema(description = "主键", example = "")
    private Long id;
    /**
     * 租户ID
     */
    @Schema(description = "租户ID", example = "")
    private Long tenantId;
    /**
     * 测评ID
     */
    @Schema(description = "测评ID", example = "")
    private Long examPaperId;
    /**
     * 题目总数
     */
    @Schema(description = "题目总数", example = "")
    private Integer questionTotal;
    /**
     * 总分
     */
    @Schema(description = "总分", example = "")
    private BigDecimal totalScore;
    /**
     * 平均分
     */
    @Schema(description = "平均分", example = "")
    private BigDecimal avgScore;
    /**
     * 总答题人数
     */
    @Schema(description = "总答题人数", example = "")
    private Integer allUserCount;
    /**
     * 答题人数
     */
    @Schema(description = "答题人数", example = "")
    private Integer examUserCount;
    /**
     * 答题正确率
     */
    @Schema(description = "答题正确率", example = "")
    private BigDecimal rightRate;
    /**
     * 最低分
     */
    @Schema(description = "最低分", example = "")
    private BigDecimal lowestScore;
    /**
     * 最高分
     */
    @Schema(description = "最高分", example = "")
    private BigDecimal highestScore;
    /**
     * 学生成绩分布
     */
    @Schema(description = "学生成绩分布", example = "")
    private List<GradeDistributionDTO> studentGradeDistribution;
    /**
     * 试题得分率列表
     */
    @Schema(description = "试题得分率列表", example = "")
    private List<QuestionScoreRateDTO> questionScoreRateList;
}
